<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page session = "true" %> 
<%
request.setCharacterEncoding("UTF-8"); 
//request.setCharacterEncoding("EUC-KR"); 
//System.out.println(request.getParameter("paramHtml"));

String CoCode = request.getParameter("CoCode") == null ? "" : request.getParameter("CoCode");
String HgCode = request.getParameter("HgCode") == null ? " " : request.getParameter("HgCode");
String HgName = request.getParameter("HgName") == null ? " " : request.getParameter("HgName");
String UserId = request.getParameter("UserId") == null ? " " : request.getParameter("UserId");
String UserName = request.getParameter("UserName") == null ? " " : request.getParameter("UserName");

String Sid = request.getParameter("Sid") == null ? " " : request.getParameter("Sid");

String KeyWord = request.getParameter("KeyWord") == null ? " " : request.getParameter("KeyWord");
String SlipdocKey = request.getParameter("SlipdocKey") == null ? " " : request.getParameter("SlipdocKey");

String ConnKey = request.getParameter("ConnKey") == null ? " " : request.getParameter("ConnKey");

%>

<HTML>
<HEAD>
<TITLE>전자증빙 등록 Sample</TITLE>
<LINK href="./common.css" type="text/css" rel="stylesheet">

</SCRIPT>
</HEAD>
<SCRIPT LANGUAGE="javascript" FOR="OfficeXPSCtl" EVENT="XpsOnSetFocus()">
  OfficeXPSCtl.focus();
</SCRIPT>

<SCRIPT LANGUAGE="javascript" FOR="OfficeXPSCtl" EVENT="XPSEvent(event)">
    if (event == "CLIENT_END")
    {
        alert("스캔 프로그램 종료");
    }
</SCRIPT> 


<BODY topmargin='0' leftmargin='0' marginwidth="0" marginheight='0' onLoad='OnInit()'>
<!-- 전자증빙 프로그램 설치후 Object 등록 //-->
<!-- width, height에 ocx 화면 Size 조정  //-->
<!--
부서코드 : <input type="text" name="HgCode" value="99999"><br>
부서명 : <input type="text" name="HgName" value="테스트부서"><br>
사용자ID : <input type="text" name="UserId" value="test"><br>
사용자명 : <input type="text" name="UserName" value="홍길동"><br>
-->


<Table  Width="365" border="1" CellPadding="0" CellSpacing="0" bordercolorlight="#cccccc" bordercolor="#ffffff">
	<Tr>
		<Td style="padding-left:10px" bgcolor="#EFEEE" align="center"><b>증빙서 저장</b></TD>
	</TR>
	<Tr>
		<Td style="padding-left:10px" bgcolor="#EFEEE" height="445">
			<OBJECT id="OfficeXPSCtl" width="100%" height="100%" classid="CLSID:E2BAB9D1-0323-42AC-9D1F-C4C9AC984D5F"></OBJECT>
		</TD>
	</TR>
	<Tr>
		<Td style="padding-left:10px" bgcolor="#EFEEE" align="center">
			<%
			//if(ConnKey == null || ConnKey.equals('') || ConnKey.equals(' ') ) {
			if(ConnKey == null || ConnKey.equals("") || ConnKey.equals(" ") ) {
			%>
			<input type="button" OnClick="fnUpdate()" value="증빙서저장">
			<input type="button" OnClick="fnScan()" value="스캔 프로그램구동">
			<%	
			} else {
			%>
			<input type="button" OnClick="fnSearch()" value="증빙서조회">
			<%
			}
			%>			  			
		</TD>
	</TR>
<!-- 	<Select Name="CoCode"><Option value="1000">ACE<Option value="2000">TOP<Option value="3000">ONS</Select> -->

	
 	<input type="hidden" name="CoCode" value="<%=CoCode%>">
	<input type="hidden" name="HgCode" value="<%=HgCode%>">
	<input type="hidden" name="HgName" value="<%=HgName%>">
	<input type="hidden" name="UserId" value="<%=UserId%>">
	<input type="hidden" name="UserName" value="<%=UserName%>">
	<input type="hidden" name="KeyWord" value="<%=KeyWord%>">
	<input type="hidden" name="SlipdocKey" value="<%=SlipdocKey%>">
	
	<input type="hidden" name="ConnKey" value="<%=ConnKey%>">
	
<!--
	<input type="text" name="CoCode" value="<%=CoCode%>">
	<input type="text" name="HgCode" value="<%=HgCode%>">
	<input type="text" name="HgName" value="<%=HgName%>">
	<input type="text" name="UserId" value="<%=UserId%>">
	<input type="text" name="UserName" value="<%=UserName%>">
	<input type="text" name="KeyWord" value="<%=KeyWord%>">
	<input type="text" name="SlipdocKey" value="<%=SlipdocKey%>">
 -->

<!-- 
<Table  Width="70%" border="1" CellPadding="0" CellSpacing="0" bordercolorlight="#cccccc" bordercolor="#ffffff">
	<Tr>
		<Td colspan="3" style="padding-left:10px" bgcolor="#EFEEE"><b>증빙서 저장</b></TD>
	</TR>
	<Tr>
		<td style="padding-left:20px" width="30%">ActiveX 구동</td>
		<td stype="padding-left:5px">
			법인코드 : <Select Name="CoCode"><Option value="1000">ACE<Option value="2000">TOP<Option value="3000">ONS</Select><br>						
			부서코드 : <input type="text" name="HgCode" value="<%=HgCode%>"><br>
			부서명 : <input type="text" name="HgName" value="<%=HgName%>"><br>
			사용자ID : <input type="text" name="UserId" value="<%=UserId%>"><br>
			사용자명 : <input type="text" name="UserName" value="<%=UserName%>"><br>			
		</td>	   		
		<td><input type="button" OnClick="OnInit()" value="구동"></td>
	</tr>
	<tr>
		<td style="padding-left:20px" width="30%">증빙서 저장</td>
		<td style="padding-left:5px">
			KeyWord 검색 : <input type="text" name="KeyWord" value="<%=KeyWord%>"><br>
			연결 Key : <input type="text" name="SlipdocKey" value="<%=SlipdocKey%>">
		</td>
		<td><input type="button" OnClick="fnUpdate()" value="구동"></td>
	</tr>
	<tr>
		<td style="padding-left:20px" width="30%">스캔 프로그램 구동</td>
		<td>&nbsp;</td>
		<td><input type="button" OnClick="fnScan()" value="구동"></td>
	</tr>
 -->


	<!-- activeX 구동 Script //-->
	<Script Language ="JavaScript">
	<!--
	
	///////////////////////////
	// 전자증빙 구동
	function OnInit()
	{
		//alert('start');
		try
		{
			var strCoCode 	= document.all.CoCode.value;
			var strHgCode	= document.all.HgCode.value;
			var strHgName	= document.all.HgName.value;
			var strUserId	= document.all.UserId.value;
			var strUserName	= document.all.UserName.value;	
					
			//var strCoKey = "";
			//if( strCoCode == "1000" ) 		strCoKey = "ACE";
			//else if( strCoCode == "2000") 	strCoKey = "TOP";
			//else if( strCoCode == "3000") 	strCoKey = "ONS";
			
			var strCoKey = "";
			if( strCoCode == "ACE" )		
			{
				strCoKey = "ACE";
				strCoCode = "1000";
			} 
			else if(strCoCode == "TOP" ) 
			{
				strCoKey = "TOP";
				strCoCode = "2000";				
			}
			else if(strCoCode == "ONS" ) 
			{
				strCoKey = "ONS";
				strCoCode = "3000";				
			}			
				


			//////////////////////////////////////////
			// 전자증빙 업체 설정 및 운영 설정
			// 
			OfficeXPSCtl.XpsSetRegKey(strCoKey, "<%=Sid%>");	//PRD : 운영 시스템
		//	OfficeXPSCtl.XpsSetRegKey("ACE", "DEV");	//DEV : 개발 시스템 -> 현재 개발 시스템은 운영하지 않음
		//	OfficeXPSCtl.XpsSetRegKey("TOP", "PRD");	//TOP : 업체 TOP용 전자증빙
		//	OfficeXPSCtl.XpsSetRegKey("ONS", "PRD");	//ONS : 업체 ONS용 전자증빙
			
			// Default로 설정	
			OfficeXPSCtl.XpsSetParam("Default", "");
			OfficeXPSCtl.XpsSetParam( "SLIPDOC_AFTER", "0");
			OfficeXPSCtl.XpsSetOption( "LightPen|Memo|Rotate|TouchThumb", 1 );			
			
			//사용자 정보 설정
			var userInfo  = "<UserInfo>";
				userInfo += "<co_code>"+strCoCode+"</co_code>";			//업체코드 : ACE->1000, TOP->2000, ONS->3000
				userInfo += "<hg_code>"+strHgCode+"</hg_code>";			//코스트 센터 코드 -> 코스트 센터 코드가 틀릴 경우 로그인 불가
				userInfo += "<hg_name>"+strHgName+"</hg_name>";			//크스트 센터명
				userInfo += "<user_id>"+strUserId+"</user_id>";			//사번
				userInfo += "<user_name>"+strUserName+"</user_name>";	//사용자명
				userInfo += "<Auto_HgCode>1</Auto_HgCode>";				//기본 옵션
				userInfo += "</UserInfo>";
			
			var bInfo = document.OfficeXPSCtl.XpsSetInfo( userInfo );            
			var bViewer = document.OfficeXPSCtl.XpsCreateViewer(1); 	//동록용 : 1, 조회용 : 0 -> 조회용일 경우 추가 삭제 불가
			if(bInfo == 1 && bViewer == 1 )
			{
				//전자증빙 생성 성공
			}
		}catch(e){}
	}	
	
	///////////////////////////
	// 증빙서 저장
	function fnUpdate()
	{
		//alert("전자증빙 등록을 시작합니다.");
		var strKeyWord = document.all.KeyWord.value;
		var strConnKey = document.all.SlipdocKey.value;

		//if( strKeyWord == "" || strConnKey == "" )
		//{
//			alert("입력값 오류");
		//}
			
		//var bSnapShot = document.OfficeXPSCtl.XpsSetParam("Chk_SnapShot", strKeyWord);	//화면 캡처한 이미지가 있는지 검증
		//if( bSnapShot )
		{
			var bConnect = document.OfficeXPSCtl.XpsSetConnectAll("1");      //증빙이미지 항목을 메모리 상태로 연결      
			if( bConnect )
			{
				var bUpdate = document.OfficeXPSCtl.XpsUpdateViewer(strConnKey);          	//strConnKey -> 증빙이미지와 연결하기 위한 key
				if( bUpdate  )
				{
					alert("전자증빙이 등록되었습니다.");
					<%
				    session.setAttribute("callEacc", "X");
					%>				
					//opener.parent.callEacc("X");
					this.close();
				}else {
					<%
				    session.setAttribute("callEacc", "fail");
					%>				
					alert("전자증빙 등록이 등록되지 않았습니다. ");
					//opener.parent.callEacc("fail");
				}
			}
		}
	}
	
	////////////////////////
	// 스캔 프로그램 구동
	// 주의 : OnInit 함수 호출 후 구동 가능
	function fnScan()
	{
		document.OfficeXPSCtl.XpsRunScan("PanelSCAN.exe", "<%=CoCode%>", "");            //업체명 코드 등록
	//	document.OfficeXPSCtl.XpsRunScan("PanelSCAN.exe", "<%=CoCode%>", "");            
	//	document.OfficeXPSCtl.XpsRunScan("PanelSCAN.exe", "<%=CoCode%>", "");            
	}

	///////////////////////////
	// 증빙서 조회
	function fnSearch()
	{
		var strConnKey = document.all.ConnKey.value;
		if( strConnKey == "" )
		{
			alert("입력값 오류");
			return;
		}
		
		document.OfficeXPSCtl.XpsSetViewer(strConnKey);            
	}
	
	//-->
	</script>
</Table>

